package com.yupi.yupicturebackend.api.aliyunai.model.test2Image;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class GetText2ImageResponse {

    /**
     * 请求唯一标识
     */
    private String request_id;

    /**
     * 输出信息
     */
    private Output output;

    /**
     * 使用量信息
     */
    private Usage usage;

    @Data
    public static class Output {

        /**
         * 任务ID
         */
        private String task_id;

        /**
         * 任务状态
         * <ul>
         *     <li>PENDING：排队中</li>
         *     <li>RUNNING：处理中</li>
         *     <li>SUCCEEDED：执行成功</li>
         *     <li>FAILED：执行失败</li>
         * </ul>
         */
        private String task_status;

        /**
         * 任务结果列表
         */
        private List<Result> results;

        /**
         * 任务指标信息
         */
        private TaskMetrics task_metrics;


        /**
         * 错误码（仅当任务失败时存在）
         */
        private String code;

        /**
         * 错误信息（仅当任务失败时存在）
         */
        private String message;
    }


    @Data
    public static class Result {

        /**
         * 生成图片的URL（有效期24小时）
         */

         String url;

//        /**
//         * 错误码（仅当任务失败时存在）
//         */
//        private String code;
//
//        /**
//         * 错误信息（仅当任务失败时存在）
//         */
//        private String message;
    }

    @Data
    public static class TaskMetrics {

        /**
         * 总任务数
         */
        private Integer TOTAL;

        /**
         * 成功任务数
         */
        private Integer SUCCEEDED;

        /**
         * 失败任务数
         */
        private Integer FAILED;
    }

    @Data
    public static class Usage {

        /**
         * 生成的图片数量
         */
        private Integer image_count;
    }
}
